;------------------------------------------------------ ; ; Monitor multi-firmware per start-up ; computer Z80 Nuova Elettronica ; ; Copyright Roberto Bazzano 2006 - 2024 ; ;------------------------------------------------------ ; ; Tabelle e subroutines utilizzate da monitor0.asm ; #define version "1.4" ; versione programma #define anno "2024" ; anno finale del copyright .org 0f000h menu1: .byte 000h, 006h, "Z80 NUOVA ELETTRONICA", 00h .byte 001h, 008h, "BOOTSTRAP V. ", version, 00h .byte 001h, 01dh, "1/3", 00h .byte 003h, 000h, "1 > BOOT BASIC 5.5K SU " .byte "FLOPPY", 00h .byte 004h, 000h, "2 > BOOT NE-DOS 1.5", 00h .byte 005h, 000h, "3 > BOOT NE-DOS GRAFIC 1.0", 00h .byte 006h, 000h, "4 > BOOT S.O.N.E.", 00h .byte 007h, 000h, "5 > BASIC 16K IN RAM", 00h .byte 008h, 000h, "6 > MONITOR ORIGINALE " .byte "NO INTERR.", 00h .byte 009h, 000h, "7 > MONITOR SP RILOC. " .byte "NO INTERR.", 00h .byte 00Ah, 000h, "8 > MONITOR A VIDEO " .byte "(RILOCATO)", 00h .byte 00Bh, 000h, "CR> CAMBIA PAGINA", 00h .byte 00Dh, 00Eh, "> <", 00h .byte 00Fh, 000h, "(C) ROBERTO BAZZANO " .byte "2000-" , anno, 00h .byte 0ffh ;------------------------------------------------------ .org 0f200h menu2: .byte 000h, 006h, "Z80 NUOVA ELETTRONICA", 00h .byte 001h, 008h, "BOOTSTRAP V. ", version, 00h .byte 001h, 01dh, "2/3", 00h .byte 003h, 000h, "9 > MONITOR ORIGINALE " .byte "(RILOCATO)", 00h .byte 004h, 000h, "A > BOOT IMMEDIATO NE-DOS", 00h .byte 005h, 000h, "B > LOADER BASIC 5.5K SU " .byte "CASS.", 00h .byte 006h, 000h, "C > PROVA TASTIERA", 00h .byte 007h, 000h, "D > RESTART A 0000H", 00h .byte 008h, 000h, "E > RESTART A 1000H", 00h .byte 009h, 000h, "F > LOAD ROUTINES STAMPA " .byte "A 0070H", 00h .byte 00Ah, 000h, "S1> CONVERSIONE FLOPPY", 00h .byte 00Bh, 000h, "CR> CAMBIA PAGINA", 00h .byte 00Dh, 00Eh, "> <", 00h .byte 00Fh, 000h, "(C) ROBERTO BAZZANO " .byte "2000-", anno, 00h .byte 0ffh ;------------------------------------------------------ .org 0f400h menu3: .byte 000h, 006h, "Z80 NUOVA ELETTRONICA", 00h .byte 001h, 008h, "BOOTSTRAP V. ", version, 00h .byte 001h, 01dh, "3/3", 00h .byte 003h, 000h, "S2> TEST DELLA RAM", 00h .byte 00Bh, 000h, "CR> CAMBIA PAGINA", 00h .byte 00Dh, 00Eh, "> <", 00h .byte 00Fh, 000h, "(C) ROBERTO BAZZANO " .byte "2000-", anno, 00h .byte 0ffh ;------------------------------------------------------ .org 0f5f0h curs: .byte 00Dh, 00Fh ; riga/colonna in cui posizionare il cursore ;------------------------------------------------------ ; Tabelle per visualizzazione su display tastiera esadecimale ; ; ; Valori per l'accensione dei segmenti del display: ; ; 1 ; - bit a 1 spegne il segmento ; 32 | | 2 ; - 64 F0 = display a destra ; 16 | | 4 !! ; - F7 = display a sinistra ; 8 ; 128 = punto decimale ; ; Fare la somma dei valori e poi complementare il risultato .org 0f600h out0: .byte 0FFh, 092h, 086h, 0C7h, 086h, 0C6h, 087h, 0FFh ; select out1: .byte 0ABh, 086h, 0A1h, 0C0h, 092h, 0FFh, 079h, 092h ; nedos 1.5 out2: .byte 0ABh, 086h, 0A1h, 0C0h, 092h, 0FFh, 042h, 0F9h ; nedos G.1 out3: .byte 083h, 088h, 092h, 0F9h, 0C6h, 0FFh, 0F9h, 082h ; basic 16 out4: .byte 0C8h, 0C0h, 0ABh, 0F9h, 087h, 0C0h, 0AFh, 0FFh ; monitor (non utilizzato) out5: .byte 0FFh, 0FFh, 083h, 0C0h, 0C0h, 087h, 0FFh, 0FFh ; boot out6: .byte 0FFh, 0FFh, 087h, 086h, 092h, 087h, 0FFh, 0FFh ; test out7: .byte 0FFh, 0FFh, 0C1h, 092h, 086h, 0AFh, 0FFh, 0FFh ; user out8: .byte 083h, 088h, 092h, 0F9h, 0C6h, 0FFh, 012h, 092h ; basic 5.5 out9: .byte 0FFh, 0FFh, 092h, 0C0h, 0ABh, 086h, 0FFh, 0FFh ; sone out10: .byte 0FFh, 08Eh, 0C7h, 0C0h, 08Ch, 08Ch, 091h, 0FFh ; floppy out11: .byte 087h, 086h, 092h, 087h, 0FFh, 0AFh, 088h, 0C8h ; test ram ;------------------------------------------------------ .org 0f7ffh .byte 00h .end